+ [MDM-MIGRATION-119] Создать таблицу хранения fridge_db.food_elements
Развертывание физической структуры справочника канонических продуктов и их БЖУ ИИ-паспортов
NoteКраткая карточка задачи
- Репозиторий / Компонент:
product-ollama-worker/fridge-service(Базаfridge_db, контур INVENTORY). - Целевая СУБД: PostgreSQL v15+.
- Ссылка на Метод: Конфигурация кэша безопасности IAD
- Статус: Готово к реализации
- Инструкция по шагам: Выполнить DDL-миграцию для создания справочной таблицы канонических элементов питания (
food_elements). Согласно манифесту и топологии физического слоя, для обеспечения транзакционной целостности без распределенного коммита, данная таблица изолирована внутри базыfridge_db. Обогащенный ИИ-паспорт (БЖУ, микроэлементы, синонимы номенклатуры) сохраняется в бинарное поле типаJSONB.
-- Скрипт миграции для fridge_db (Контур INVENTORY)
CREATE TABLE IF NOT EXISTS fridge_db.food_elements (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(255) UNIQUE NOT NULL, -- Каноническое наименование (например, 'Яйцо куриное С1')
status VARCHAR(32) NOT NULL DEFAULT 'PENDING', -- Статусная модель: 'PENDING', 'READY', 'FAILED'
chemical_card JSONB, -- Структурированный JSON-паспорт БЖУ от LLM Gateway
trace_id VARCHAR(128) NOT NULL, -- Сквозной X-Request-ID для аудита ИИ-генерации
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Частичный индекс для оптимизации вычитки и процессинга задач ИИ-воркерами
CREATE INDEX IF NOT EXISTS idx_food_elements_ai_processing
ON fridge_db.food_elements (status, created_at ASC)
WHERE status = 'PENDING';